package com.zjs.jsp.ediorder.domain.mongodb;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.zjs.jsp.domain.axd.out.Event_log_details;
import lombok.Data;
import org.springframework.data.annotation.Id;

import java.math.BigDecimal;
import java.util.List;

@Data
public class jsp_Status implements Comparable<jsp_Status>
{
    @JsonIgnore
    private Integer su;

    @JsonIgnore
    @Id
    private String id;


    /**
     * 异常订单原因
     */

    @JsonProperty("abnormal_reason")
    private String ar;

    /**
     * 取消原因
     */
    @JsonProperty("cancel_reason")
    private String cr;
    /**
     * 异常编码
     */
    @JsonProperty("error_code")
    private String ec;


    /**
     * 鲜易站状态宅急送接收订单 60 配送员已接单 62 已到店 65 派送中 70 签收 75 拒收 98 异常 80
     */
    @JsonProperty("order_status")
    private Integer os;
    /**
     * 订单号
     */
    @JsonProperty("partner_order_code")
    private String poc;
    /**
     * 派送员工号
     */
    @JsonProperty("rider_code")
    private String rc;
    @JsonProperty("rider_lat")
    private BigDecimal lat;
    @JsonProperty("rider_lng")
    private BigDecimal lng;
    /**
     * 派送员联系方式
     */
    @JsonProperty("rider_mobile")
    private String rm;
    /**
     * 派送员姓名
     */
    @JsonProperty("rider_name")
    private String rn;

    /**
     * 操作时间
     */
    @JsonProperty("time_status_update")
    private Long tsu;

    /**
     * 发生事件
     */
    private List<Event_log_details> event_log_details;


    public Event_log_details toEvent_log_details() {
        Event_log_details e = new Event_log_details();
        e.setOccur_time(tsu);
        e.setOrder_status(os);
        e.setRider_code(rc);
        e.setRider_mobile(rm);
        e.setRider_name(rn);
        return e;
    }

    @Override
    public int compareTo(jsp_Status o) {
        return o.getTsu().intValue() - this.tsu.intValue();
    }

    public Integer getService_type() {
        return 1;
    }

    public Integer setService_type(Integer service_type) {
        return 1;
    }
}